<?php

// --------
// Sécurité
// --------
if (isValidConstant() != 1) {
    fermeSessionUtilisateur();
}

// ----------------------
// Droit de l'utilisateur
// ----------------------
if ($_SESSION['gestion_site'] < 'Oui') {
    exit;
}

// Pour mettre la date la plus récente en premier
if (isset($dir2)) {
    $dir = $dir2;
    unset($flechetri);
}

// ------------------------------
// Caractéristiques du module
// ------------------------------
unset($module);
$module = array(
    "titre" => "Gest. du nombre d'employés par établissement",
    "urldest" => $SCRIPT_NAME . "?page=liste_nombre_employes",
    "recherche" => array("engin" => false),
    "jeton" => $jeton,
    "compte" => 0,
    "lientri" => true,
    "entete_principale" => false,
    "msg" => array(
        "maj_ok" => "Mise à jour du nombre d'employés effectuée avec succès.",
        "maj_ajout_ok" => "Ajout du nombre d'employés pour la période effectué avec succès.",
        "maj_echec" => "L'opération de mise à jour du nombre d'employés a échouée",
    )
);

// ------------------
// Requête sur le tri
// ------------------
if (isset($action)) {
    //Cueillette de données du module
    $msg = "";
    if ($action == "Modifier") {
        $lnoemployeur = antiInjection($lemployeur);
        $lnoperiode = antiInjection($lperiode);
        $lvaleur = antiInjection($lvaleur);

        //Recherche le nombre par période de l,employeur
        //Si inexistant, on ajoute la valeur, sinon update.
        unset($sqlparam);
        $sqlparam["table"][] = "nombreemployes";
        $sqlparam["where"][] = "refemployeur = " . sprintf("%d", $lnoemployeur);
        $sqlparam["where"][] = "refperiode = " . sprintf("%d", $lnoperiode);
        $resultPeriode = executerRequeteSql($sqlparam);

        unset($sqlparam);
        if (count($resultPeriode) == 0) {
            $sqlparam["type"] = "INSERT";
            $sqlparam["champs"]["refemployeur"] = sprintf("%d", $lnoemployeur);
            $sqlparam["champs"]["refperiode"] = sprintf("%d", $lnoperiode);
            $sqlparam["champs"]["archive"] = 0;
        } else {
            $sqlparam["type"] = "UPDATE";
            $sqlparam["where"][] = "refemployeur = " . sprintf("%d", $lnoemployeur);
            $sqlparam["where"][] = "refperiode = " . sprintf("%d", $lnoperiode);
        }
        $sqlparam["table"][] = "nombreemployes";
        $sqlparam["champs"]["nombreemployes"] = sprintf("%d", $lvaleur);

        $result = executerRequeteSql($sqlparam);

        if (isset($result)) {
            $module["resultatSQL"] = true;
            if ($sqlparam["type"] == "INSERT") {
                $module["message"] = $module["msg"]["maj_ajout_ok"];
            } else {
                $module["message"] = $module["msg"]["maj_ok"];
            }
        } else {
            $module["resultatSQL"] = false;
            $module["message"] = $module["msg"]["maj_echec"];
        }
    }
}

if (!isset($lnoemployeur)) {
    $lnoemployeur = 0;
}

if (!isset($dir2) || ($dir2 != "asc" && $dir2 != "desc")) {
    unset($dir2);
    $dir2 = "desc";
}

//Requête SQL imbriquée pour obtenir le nombre d'employé par période.
unset($embededSQL);
$embededSQL = "(select nombreemployes.nombreemployes,nombreemployes.refemployeur, nombreemployes.refperiode from nombreemployes ";
$embededSQL .= "where " . sprintf("nombreemployes.refemployeur=%d", $lnoemployeur) . ") as nbemployes";

unset($sqlparam);
$sqlparam["table"][] = "periodes";
$sqlparam["table"][] = $embededSQL;
$sqlparam["join"][] = array(0 => "left", 1 => "nbemployes.refperiode=periodes.refperiode");
$sqlparam["champs"][] = "YEAR(periodes.periode)-1 as periode";
$sqlparam["champs"][] = "nbemployes.nombreemployes";
$sqlparam["champs"][] = "nbemployes.refemployeur";
$sqlparam["champs"][] = "periodes.refperiode";
$sqlparam["ordre"] = "periodes.periode $dir2";
$result = executerRequeteSql($sqlparam);

// ----------------------------------------
// Liste du nombre d'employés par employeur
// ----------------------------------------
print preparerModule($module);
print "<div style='width:500px; margin:auto; margin-bottom:5px;'>";
print "<form action=\"index2.php?page=liste_nombre_employes&dir=$dir\" name='listeEmployeursNb' id='listeEmployeursNb' method='post'>";
print 'Employeur : ';
print "<select name='lnoemployeur' id='lnoemployeur' onchange='this.form.submit();'>\n";
unset($employeurs);
$employeurs = getEmployeurs($_SESSION["gestion_site"]);
foreach ($employeurs as $clef => $valeur) {
    unset($selected);
    $selected = '';
    if (isset($lnoemployeur) && $valeur["refid"] == $lnoemployeur) {
        $selected = "selected";
    }
    printf("<option %s value='%d'>%s</option>\n", $selected, $valeur["refid"], htmlentities($valeur["valeur"], ENT_SUBSTITUTE, "UTF-8"));
}
$condition = "";
print "</select>";
print "<input type='hidden' name='jeton' id='jeton' value='$jeton'>\n";
print "</form>";
print "</div>";

$i = 1;
if ($result) {
    $dir2 = ($dir2 == "asc") ? "desc" : "asc";
    print "<table style='border-collapse:collapse; width:50%; margin:auto;' class='hoverTable'>";
    print "<tr style='height:35px;'>";

    $style = "font-family:arial, helvetica, sans-serif; font-size:9pt; background-color:#00aadb;";
    print "<th style='$style'>#</th>";
    print "<th style='$style'>\n";
    print "<a class='tri' style='cursor:pointer; color:#0000ee;' href='index2.php?page=liste_nombre_employes&dir2=$dir2&lnoemployeur=$lnoemployeur&jeton=$jeton'>";
    print "P&eacute;riode&nbsp;<IMG SRC='images/s_$dir2.png' style='border:0px;'></a></th>\n";
    print "<th style='$style'>Nombre</th>";
    print "<th style='$style'>Action</th>";
    print "</tr>";

    $style2 = "border:1px solid #cfcfcf; font-family:arial, helvetica, sans-serif; color:black; font-size:9pt; margin-left:5px; margin-right:5px; text-align:center;";
    foreach ($result as $clef => $valeur2) {
        if (!isset($valeur2["nombreemployes"])) {
            $valeur2["nombreemployes"] = 0;
        }
        $valeur0 = htmlentities($valeur2["periode"], ENT_QUOTES, $ENCODAGE) . "-04-01";
        $valeur1 = htmlentities($valeur2["nombreemployes"], ENT_QUOTES, $ENCODAGE);

        print "<tr>\n";
        print "<td style='$style2'>$i</td>\n";
        print "<td style='$style2'>$valeur0</td>\n";
        print "<td style='$style2'>\n";
        print "<form id='changement$i' name='changement$i' method=\"post\" action=\"index2.php?page=liste_nombre_employes\">\n";
        print "<input type='hidden' name='lperiode' id='lperiode' value='" . $valeur2["refperiode"] . "'>\n";
        print "<input type='hidden' name='lemployeur' id='lemployeur' value='$lnoemployeur'>\n";
        print "<input type='text' name='lvaleur' id='lvaleur' value='$valeur1'>\n";
        print "<input type='hidden' name='jeton' id='jeton' value='$jeton'>\n";
        print "</td>\n";
        print "<td style='$style2'>\n";
        print "<input class='modifier' title='Modifier' TYPE='submit' name='action' VALUE='Modifier'>\n";
        print "</form>\n";
        print "</td></tr>\n";
        $i++;
    }
    print "</table>";
}
